 const {User}=require('../../model/user');
 //引入下载好的bcrypt模块用户密码比对
 const bcrypt=require('bcrypt');
module.exports=async(req,res,next)=>{
//接收客户端传递过来的请求参数
const {username,email,role,state,password}=req.body;
//即将要修改的用户id
const id=req.query.id;
//根据id查询用户信息
let user=await User.findOne({_id:id});
//密码比对 返回一个布尔值
const isValid= await bcrypt.compare(password,user.password);
if(isValid){
    // 密码比对成功
    // 将用户信息更新到数据库中
    await User.updateOne({_id:id},{
        username:username,
        email:email,
        role:role,
        state:state,
    });
    //重定向到用户列表页面
    res.redirect('/admin/user');
}else{
    // 密码比对失败触发错误处理中间件
    let obj={path:'/admin/user-edit',message:'密码比对失败不能进行用户信息修改',id:id};
    //传入并转换成字符串格式
    next(JSON.stringify(obj));
}
}